#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <QTimerEvent>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    // 开启定时器事件
    // 此处 timerId 是一个定时器的身份标识
    timerId = this->startTimer(1000);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::timeEvent(QTimerEvent *event)
{
    // 如果一个程序中存在多个定时器，每个定时器都会触发 timerEvent 函数
    if(event->timerId() != this->timerId) {
        // 如果不是我们的定时器触发的，就直接忽略
        return ;
    }
    int value = ui->lcdNumber->intValue();
    if(value <= 0) {
        this->killTimer(this->timerId);
        return ;
    }
    value -= 1;
    ui->lcdNumber->display(value);
}

